레드팀
레드팀풀체인_08_권한 상승
작성자 : Heehyeon Yoo|2025-12-26
# RedTeam# PrivilegeEscalation# PrivEsc# Kerberoasting# ActiveDirectory
1. 권한 상승 개요
현재 장악한 시스템이나 계정의 권한을 확장하여 더 높은 수준의 접근 권한(System, Domain Admin 등)을 확보하는 과정이다.
- 레드팀 관점: 권한 상승은 필수(Mandatory)가 아니다. 현재 권한으로도 목표 달성이 가능하다면 굳이 탐지 위험을 감수하며 권한 상승을 할 필요가 없다.(예: VPN Admin 권한만 있으면 되지, 굳이 VPN 서버의 Root가 될 필요는 없다).
2. 권한 상승의 종류
2.1. 로컬 권한 상승(Local PrivEsc)
단일 호스트 내에서 권한을 높이는 것이다.
- 유저 권한 상승: 일반 사용자 -> 로컬 관리자(Administrator).
- 프로세스 MIC 상승:
Medium Integrity->High/System Integrity.- UAC Bypass: 관리자 권한을 가진 사용자가 UAC(User Account Control) 팝업 없이 관리자 권한으로 프로세스를 실행하게 하는 기법.
- 목적:
Mimikatz로 자격 증명(Credential)을 덤프하거나, 다른 프로세스에 인젝션(Injection)을 하기 위해서는 최소High Integrity이상의 권한이 필요하다.
2.2. 도메인 권한 상승(Domain PrivEsc)
Active Directory 환경에서 도메인 전체에 영향을 미치는 권한을 획득하는 것이다.
- 주요 기법:
Kerberoasting,AS-REP Roasting,Unconstrained Delegation,ADCS등. - 목표: 더 많은 호스트에 접근하거나, 도메인 관리자(Domain Admin) 권한을 탈취하여 도메인 전체를 장악하는 것.
3. 실습 시나리오: Kerberoasting 공격
Kerberos 인증 프로토콜의 취약점을 이용해 서비스 계정(Service Account)의 비밀번호 해시를 탈취하고 크랙하는 공격이다.
3.1. 취약한 서비스 계정 식별(Recon)
- SPN(Service Principal Name)이 설정된 사용자 계정만 Kerberoasting이 가능하다.
BloodHound나 LDAP 쿼리를 통해 SPN이 설정된 계정을 찾는다.- 발견:
SFMSSQLService(MS-SQL 서비스 계정). 비밀번호가 최근에 설정됨.
- 발견:
3.2. 서비스 티켓(TGS) 요청(Request)
- C2 도구(BOF)인
Rubeus등을 사용하여 TGS(Ticket Granting Service) 티켓을 요청한다. - 이때, 도메인 컨트롤러는 해당 서비스 계정의 비밀번호 해시로 암호화된 티켓을 반환한다.
# Sliver BOF를 이용한 커버로스팅(탐지 위험 낮음)
kerberoast --spn 'MSSQLSvc/sql01.us.rt.local:1433'
3.3. 해시 크래킹(Cracking)
- 탈취한 티켓(Hash)을 공격자 PC(Kali)로 가져와
Hashcat으로 크랙한다. - 서비스 계정은 주로 사람이 기억하기 쉬운 비밀번호를 사용하거나, 비밀번호 변경 주기가 긴 경우가 많아 크래킹 성공률이 높다.
# Hashcat 모드 13100(Kerberos 5 TGS-REP etype 23)
hashcat -m 13100 hash.txt rockyou.txt
- 결과: 비밀번호
accessnsql획득.
3.4. 권한 확인 및 횡적 이동
- 크랙된 비밀번호가 맞는지
NetExec등으로 검증한다. - 해당 계정이
SQL01서버의 로컬 관리자 권한을 가지고 있음을 확인한다. - 획득한 계정을 이용해
SQL01서버로 횡적 이동(Lateral Movement)을 준비한다.